#define DEBUG
#include <cstdio>
#include <cmath>

using namespace std;

const int maxn=200000;

long long gcd(long long a, long long b) {
  for (long long r=a%b; r; a=b, b=r, r=a%b);
  return b;
}

long long lcm(long long a, long long b) {
  return a/gcd(a, b)*b;
}

class Fraction {
public:
  long long x, y;

  Fraction(long long p, long long q) {
    long long t=gcd(abs(p), abs(q));
    x = p/t, y = q/t;
    if (y<0) {
      x = -x, y = -y;
    }
  }

  Fraction operator-(Fraction b) {
    long long t=lcm(y, b.y);
    return Fraction(abs((t/y)*x-(t/b.y)*b.x), t);
  }

  bool operator<(Fraction b) {
    long long t=lcm(y, b.y);
    return (t/y)*x<(t/b.y)*b.x;
  }

  bool operator==(Fraction b) {
    return x==b.x && y==b.y;
  }
};

int main() {
  freopen("slope.in", "r", stdin);
  freopen("slope.out", "w", stdout);

  static long long point[maxn+1][2];
  int n;
  long long p, q;
  scanf("%d %lld %lld", &n, &p, &q);
  Fraction target(p, q);
  for (int i=1; i<=n; i++) {
    scanf("%lld %lld", point[i], point[i]+1);
  }

  Fraction ans(point[1][1]-point[2][0], point[1][0]-point[2][0]), dec=target-ans;
  for (int i=1; i<n; i++) {
    for (int j=i+1; j<=n; j++) {
      Fraction now(point[i][1]-point[j][1], point[i][0]-point[j][0]), temp=target-now;
// #ifdef DEBUG
//       if (points[i].id==998) {
// 	printf("HERE!");
//       }
//       if (points[i].id==1000) {
// 	printf("!HERE");
//       }
// #endif
      if (temp<dec || (temp==dec && now<ans)) {
	ans = now;
	dec = temp;
      }
    }
  }
  // printf("%d %d\n", ai, aj);
  printf("%lld/%lld\n", ans.x, ans.y);

  fclose(stdin);
  fclose(stdout);
  return 0;
}
